package com.wing.productionPlan.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wing.productionPlan.model.entity.ProductionProcessMaterial;
import com.wing.productionPlan.model.request.ProductionProcessMaterialForm;
import com.wing.productionPlan.model.response.ProductionProcessMaterialVO;
import com.wing.productionPlan.model.response.RecordMaterialSkuVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 生产工序物料表-Service
 *
 * @author
 */
public interface ProductionProcessMaterialService extends IService<ProductionProcessMaterial> {

    /**
     * 添加
     *
     * @param productionProcessMaterialForm
     * @return
     */
    int add(ProductionProcessMaterialForm productionProcessMaterialForm);

    /**
     * 列表-app
     *
     * @param params
     *
     * @return
     */
    List<ProductionProcessMaterialVO> list4app(Map<String, Object> params);

    /**
     * 分页list-app
     *
     * @param page
     * @param params
     *
     * @return
     */
    Page<ProductionProcessMaterialVO> pageList4app(Page page, Map<String, Object> params);

    /**
     * 详情-app
     *
     * @param id
     *
     * @return
     */
    ProductionProcessMaterialVO get4appById(Long id);

    List<ProductionProcessMaterialVO> getSimpleWorkOrderMaterial(String skuCode,Long simpleWorkOrderId);

    /**
     * 查看工序设备物料信息
     * @param productionPlanId 生产计划id
     * @param productionPlanRecordId 生产计划记录id
     * @param processId 工序id
     * @return
     */
    List<RecordMaterialSkuVo> getMaterialInfoBy(Long productionPlanId, Long productionPlanRecordId, Long processId);
}
